import { userAccountCheck } from "@/api/user"
// 给vee-validate提供校验规则函数
// 如果校验成功为返回true,如果失败则返回一个字符串,就为错误的提示信息
export default {
    // 用户名校验
    account(value) {
        if (!value) return "请输入用户名"
        // 规则:字母开头6-20字符之间
        if (!(/^[a-zA-Z]\w{5,19}$/.test(value))) return "字母开头并且6-20个字符"
        return true
    },
    // 校验用户名是否唯一
    async accountApi(value) {
        if (!value) return "请输入用户名"
        // 规则:字母开头6-20字符之间
        if (!(/^[a-zA-Z]\w{5,19}$/.test(value))) return "字母开头并且6-20个字符"
        // 服务端校验
        const res = await userAccountCheck(value)
        if (res.result.vaild) return "用户名已存在"
        return true
    },
    // 密码校验
    password(value) {
        console.log(value);
        if (!value) return "请输入密码"
        // 规则:字母开头6-26字符之间
        if (!(/^\w{6,24}$/.test(value))) return "密码为6-20个字符"
        return true
    },
    // 手机号校验
    mobile(value) {
        console.log(value);
        if (!value) return "请输入手机号"
        // 规则:字母1开头,第二位3-9之间,9个数字
        if (!(/^1[3-9]\d{9}$/.test(value))) return "手机号格式不正确"
        return true
    },
    // 验证码
    code(value) {
        if (!value) return "请输入验证码"
        // 规则:6个数字
        if (!(/^\d{6}$/.test(value))) return "短信验证码为6位数字"
        return true
    },
    isAgree(value) {
        if (!value) return "请勾选登录协议"
        return true
    }
}